package DataStorage;

import java.util.List;

import HibernateSQLite.java.model.Essieu;

public interface IEssieuDAO extends IGenericDAO<Essieu, Long>{
	
	//--------------------------------------
	//for DB principal
	//--------------------------------------
	public boolean isExist(Essieu essieu);
	public boolean isExist(String N_serie,String chemin,String flag_mesure,long InformationLigne_id);
	

	public Essieu getEssieu(String N_serie,String flag_mesure);
	public Essieu getEssieu(String N_serie,String chemin,String flag_mesure,long InformationLigne_id);
	
	public List<Essieu> getListEssieu();
	public List<Essieu> getEssieuByChemin(String chemin);
	public List<Essieu> getListEssieuByName_essieu(String name_essieu);
	public List<Essieu> getListEssieuByDiversite(String diversit);
	public List<Essieu> getListEssieuByJour_production(String jour_production);
	public List<Essieu> getListEssieuByJour_mesure(String jour_mesure);
	public List<Essieu> getListEssieuByOperateur(String name_operateur);
	
	public List<Essieu> getListEssieuByMeasure(String critere_name, String flag_mesure);

	public String getMaxFlag_Mesure();
	
	public void saveEssieu(String N_serie, String chemin, 
			String Organe, String diversite, String annee,
			String jour_production, String jour_mesure, 
			String name_operateur, String critere_name,
			int flag_mesure,String filePath,long InformationLigne_id);
	
	public void deleteEssieu(Essieu essieu);
	public void deleteListEssieuByMeasure(String critere_name, String flag_mesure);
	public void deleteAllEssieus();
	
	
	//--------------------------------------
	//for DB history
	//--------------------------------------
	
	public String getMaxFlag_MesureInHistory();
	public boolean isExistInHistory(String N_serie,String chemin,String flag_mesure,long InformationLigne_id);
	public void saveEssieuToHistory(String N_serie, String chemin,
			String Organe, String diversite, String annee,
			String jour_production, String jour_mesure, String name_operateur,
			String critere_name, int flag_mesure, String filePath,
			long InformationLigne_id);
	public void deleteEssieuFromHistory(Essieu essieu);
	
	public List<Essieu> getListEssieuFromHistory();
	public List<Essieu> getListEssieuByMeasureFromHistory(String critere_name,
			String flag_mesure);
	
	
	public List<Essieu> getListEssieuHistory(String Organe, String diversite,String site,String N_ligne ,String annee);
	public void deleteListEssieuByMeasureFromHistory(String critere_name,
			String flag_mesure);
	public void deleteAllEssieusFromHistory(); 
	
}
